$(function () {
    const enabled={
        false:"禁用",
        true:"启用",
    };
    const admin={
        false:"否",
        true:"是",
    };

    /*用户列表*/
    $("#user_data_grid").datagrid({
        url:"/user/list",
        columns:[[
            {field:'username',title:'用户名',width:100,align:'center'},
            {field:'nickName',title:'昵称',width:100,align:'center'},
            {field:'gender',title:'性别',width:100,align:'center'},
            {field:'phone',title:'电话',width:100,align:'center'},
            {field:'email',title:'邮箱',width:100,align:'center'},
            {field:'deptText',title:'部门',width:100,align:'center'},
            {field:'enabled',title:'状态',width:100,align:'center',formatter:function (value,row,index) {
                    return enabled[value];
                }},
            {field:'admin',title:'管理员',width:100,align:'center',formatter:function (value,row,index) {
                    return admin[value];
                }},
        ]],
        fit:true,
        fitColumns:true,
        rownumbers:true,
        pagination:true,
        toolbar:"#user_toolbar",
        singleSelect:true,
        striped:true,
    });

    /*对话框*/
    $("#user_dialog").dialog({
        width:600,
        height:400,
        closed:true,
        buttons:[
            {
                text:'保存',
                handler:function(){

                    /*判断是新增还是编辑*/
                    var id = $("[name = 'id']").val();
                    var url;
                    if(id){
                        /*编辑*/
                        url = "/user/update";
                    }else {
                        /*新增*/
                        url = "/user/save";
                    }
                    /*提交表单*/
                    $('#userForm').form("submit",{
                        url:url,
                        success:function(data){
                            data = $.parseJSON(data);
                            if(data.success){
                                $.messager.alert("温馨提示",data.msg);
                                /*关闭对话框*/
                                $("#user_dialog").dialog("close");
                                /*重新加载数据*/
                                $("#user_data_grid").datagrid("reload");
                            }else {
                                $.messager.alert("温馨提示",data.msg);
                            }
                        }
                    })
                }
            },
            {
                text:'关闭',
                handler:function(){
                    $("#user_dialog").dialog("close");
                }
            }
        ],
    });

    /*监听添加的点击事件*/
    $('#add').click(function () {
        /*显示密码*/
        $("#password").show();
        /*清空数据*/
        $('#user_dialog').dialog("setTitle","添加用户");
        $("#userForm").form("clear");
        $('#user_dialog').dialog("open");
        /*取消密码验证*/
        $("[name='password']").validatebox({required:true});
    });

    /*监听编辑的点击事件*/
    $("#edit").click(function () {
        /*获取当前选中的行*/
        var rowData = $("#user_data_grid").datagrid("getSelected");

        if(!rowData){
            $.messager.alert("提示","选择一行数据进行编辑");
            return;
        }
        /*取消密码验证*/
        $("[name='password']").validatebox({required:false});
        /*隐藏密码*/
        $("#password").hide();
        /*发送ajax来回显*/
        $.get("/user/getUserById?id="+rowData.id,function (data) {
            /*弹出对话框*/
            $('#user_dialog').dialog("setTitle","编辑员工");
            $('#user_dialog').dialog("open");
            /*选中数据的回显*/
            $("#userForm").form("load",data);
        })


    });


    /*岗位下拉多选*/
    $('#job').combobox({
        width:160,
        prompt:"请选择岗位",
        url: '/job/all',
        method:'get',
        valueField:'id',
        textField:'text',
        multiple:true,
        editable:false,
        panelHeight:'auto'
    });

    /*性别下拉多选*/
    $('#gender').combobox({
        width:160,
        panelHeight:"auto",
        textField:"label",
        valueField:"value",
        data:[
            {label:"男",value:"男"},
            {label:"女",value:"女"}
        ],
        prompt:"请选择性别",
        editable:false
    });


    /*是否管理员下拉选择*/
    $("#admin").combobox({
        width:160,
        panelHeight:"auto",
        textField:"label",
        valueField:"value",
        data:[
            {label:"是",value:true},
            {label:"否",value:false}
        ],
        prompt:"是否为管理员",
        editable:false
    })

    /*部门下拉框*/
    $('#dept').combotree({
        width:160,
        method:'get',
        url: '/dept/list',
        required: true,
        prompt:"请选择部门",
        panelHeight:"250",
        editable:false,
    });


    /*状态下拉框*/
    $("#enabled").combobox({
        width:160,
        panelHeight:"auto",
        textField:"label",
        valueField:"value",
        data:[
            {label:"启用",value:true},
            {label:"禁用",value:false}
        ],
        prompt:"请选择状态",
        editable:false
    });

    /*角色下拉*/
    $('#role').combobox({
        width:160,
        prompt:"请选择角色",
        url: '/role/all',
        method:'get',
        valueField:'id',
        textField:'text',
        multiple:true,
        editable:false,
        panelHeight:'auto'
    })



    /*监听启用按钮点击*/
    $("#enable").click(function(){
        /*获取当前选中的行*/
        var rowData = $("#user_data_grid").datagrid("getSelected");
        if(!rowData){
            $.messager.alert("提示","选择一行数据进行编辑");
            return;
        }
        if(rowData.enabled){
            $.messager.alert("温馨提示","该用户已被启用");
            return;
        }
        /*提醒用户，是否做离职的操作*/
        $.messager.confirm("确认","是否启用此用户?",function (res) {
            if(res){
                /*离职操作*/
                $.post("/user/updateStatus?id="+rowData.id+"&enabled=true",function (data) {
                    data = $.parseJSON(data);
                    if(data.success){
                        $.messager.alert("温馨提示",data.msg);
                        /*关闭对话框*/
                        /*重新加载数据*/
                        $("#user_data_grid").datagrid("reload");
                    }else {
                        $.messager.alert("温馨提示",data.msg);
                    }
                })
            }
        })
    });

    /*监听禁用按钮点击*/
    $("#disable").click(function(){
        /*获取当前选中的行*/
        var rowData = $("#user_data_grid").datagrid("getSelected");
        if(!rowData){
            $.messager.alert("提示","选择一行数据进行编辑");
            return;
        }
        if(!rowData.enabled){
            $.messager.alert("温馨提示","该用户已被禁用");
            return;
        }
        /*提醒用户，是否做离职的操作*/
        $.messager.confirm("确认","是否禁用此用户?",function (res) {
            if(res){
                /*离职操作*/
                $.post("/user/updateStatus?id="+rowData.id+"&enabled=false",function (data) {
                    data = $.parseJSON(data);
                    if(data.success){
                        $.messager.alert("温馨提示",data.msg);
                        /*关闭对话框*/
                        /*重新加载数据*/
                        $("#user_data_grid").datagrid("reload");
                    }else {
                        $.messager.alert("温馨提示",data.msg);
                    }
                })
            }
        })
    });

    /*监听搜索按钮点击*/
    $("#searchbtn").click(function () {
        /*获取搜索的内容*/
        var keyword = $("[name='keyword']").val();
        /*重新加载列表并且把keyword传过去*/
        $("#user_data_grid").datagrid("load",{keyword:keyword});
    });

    /*监听刷新按钮点击*/
    $("#reload").click(function () {
        /*清空搜索的框的内容*/
        var keyword = $("[name='keyword']").val("");
        /*重新加载列表*/
        $("#user_data_grid").datagrid("load",{});
    });

    /*监听导出点击*/
    $("#export").click(function () {
        window.open("user/downloadExcel")
    });

    $("#excelUpload").dialog({
        title:"上传附件",
        width:260,
        height:180,
        buttons:[{
            text:'保存',
            handler:function(){
                $("#uploadForm").form("submit",{
                    url:"user/uploadExcelFile",
                    success:function(data){
                        data = $.parseJSON(data);
                        if(data.success){
                            $.messager.alert("温馨提示",data.msg);
                            /*关闭对话框*/
                            $("#excelUpload").dialog("close");
                            /*重新加载数据*/
                            $("#user_data_grid").datagrid("reload");
                        }else {
                            $.messager.alert("温馨提示",data.msg);
                        }
                    }
                })
            }
        },{
            text:'关闭',
            handler:function(){
                $("#excelUpload").dialog("close");
            }
        }],
        closed:true
    })

    $("#excelImpot").click(function () {
        $("#excelUpload").dialog("open");
    });

    /*监听导入按钮*/
    $("#import").click(function () {
        $("#excelUpload").dialog("open");
    });


    /*下载模板*/
    $("#downloadTml").click(function () {
        window.open("user/downloadExcelTpl");
    });

})